IP 库之中国特色第三方出口篇~
九月份最后一个工作日,就在即将愉快的去过十一假期之时,我们同事接到了一个刚刚成为客户的电话,我能从和我同事对话的只言片语里听得出来,言辞有点激烈、偏向于质疑和不信任,接完电话,我问了一下,果然,人家觉得我付费我应该骄傲,我们业务数据和你们的 IP 库对不上,一定是你们不努力,嗯,而且不太接受你的解释。
我最近在给大公司做内部分享的后期,在我的 ppt 里加上了一句话,“要正确认识到基于 IP 做地理位置识别的局限性(网络位置 VS 用户位置)”。
我们先说标题的事情,再回头解释这个网络位置和用户位置的区别。
IP 库里有很多种情况,比如卫星上网,比如手机基站(这个问题我们有撰文,最近因为做美国数据,也了解了一下美国的手机网络情况,比中国的还复杂,比如可能有覆盖州级的组网方案,也可能有覆盖全国的组网方案)是基于其组网情况,所以在精度和准确度上不好进行标注,左右为难,很多时候只能退而求其次。但是很多人不理解,总觉得是你们不够努力,才导致数据有问题。这种想当然的想法,我的一个前同事也有,我也只能一声叹息。
这些情况里,遇到最多的,除了手机基站以外,最不好给客户解释的就是第三方出口了,也是个中国特色。所以趁着十一放假期间,写篇文章普及下吧。毕竟这个锅不应该我们做 IP 库的来背。
中国的民用网络运营商除了大家熟知的电信、联通、移动这三大国有运营商算是一级运营商,还有很多规模相对小很多的二级运营商,规模最大的应该是鹏博士,全国大概有覆盖 1000 万户家庭。还有比如方正宽带、艾普宽带,包括基于广电有线网络进行经营的各省级市级广电宽带网络,诸如歌华有线、东方有线、广东有线等等,大家有兴趣的可以去查一下。
要知道,做用户宽带网络,你需要下有用户,上有网络出口,而二级运营商本身牌照就有限制,所以二级运营商只能屈从于一级运营商,从一级运营商做网络接入就需要采购,而从利益最大化考虑,一级运营商认为宽带用户理论上是他们的锅里的肉,为什么要便宜给你提供带宽,让你来跟我竞争,公事公办,只有官方报价,爱用不用。
说到这里,有些人就明白了,虽然一级运营商官方报价如此,但公司规模那么大,总有些诸如二三四线城市的下属公司或者头脑灵活的个人能够找到关系便宜的卖带宽出去。如果官价也许是 10 万块钱 1G,私下也许报价就是 3、4 万块钱甚至量大还可以打折。我不知道实际价格如何,但是肯定是比官价便宜很多很多了。
基于收入大于支出的业务模式,这事就能长久干下去了。甚至规模偏小的一级运营商也有动力去采购这些非官方的带宽,毕竟便宜太多了。
说到这里,有些人业务会问,这种采购带宽就是便宜呗,为啥你们要背锅呢?我来给你讲锅在哪里。
如果是官价,也许你可以走正规方案,把网络接入,按价格掏钱,但是私下的接入是做不到的,所以大家想到一个办法,NAT。通过 NAT 的方案,把用户的流量从采购的地方把流量转接出去,但因为是 NAT ,所以出口 IP 理论上是被采购方网络的 IP,这样的话,如果你采购的的是内蒙古地区的流量,从内网去看外网的 IP 和地理位置,就是内蒙古地区的。
至于 NAT 的技术实现和限制,我就不解释了,不懂的去问懂的。
所以如果你是这种二级运营商的网络,或者有朋友是的话,你们可以试试看,比如访问 IPIP.NET,看我们如何给你显示你的外网 IP 情况。当然,有些网络可能会针对我们做应用路由的优化,访问的时候可能看不出来。如果你们有技术能力,可以自己写个几行的代码,显示出 IP ,再去我们网站去查询试试。你就知道我所言不虚。
这些年下来,二级运营商的网络运营能力也在逐步加强,比如尽量把流量缓存在网内节省成本,甚至有自己的骨干网,甚至同时有很多个第三方出口,再根据自己的流量情况进行调度,所以你也许会遇到刷新同一个页面,走不通的出口出来的可能。
那么问题就在于这个是基于 NAT 的方案,所以在我们看来,网络位置和用户位置分离,但是我们最后的考虑还是按照这种情况下保持网络位置进行标注。
有人会问,为什么不按照用户位置标注,第一是这种流量不固定,无论是采购方还是销售方,都在尽可能的不让人看到,所以可能今天在这里用,明天就不用了,即使还在这里用,也可能会很快的更换出口 IP,你就是能发现也总有时间延迟。这是个猫鼠游戏。
第二,用户情况不固定,也许今天这个 IP 是给一个公司用,也许明天就是几个公司混用,再加之有些运营商本身就是全国运营商网络,用户哪里都有,我们要如何标呢?要是按照手机基站的标注策略的话,改成中国的话,你觉得 IP 所有者会干吗?
第三,数据来源问题,我们用于 IP 库的数据,大部分是公开数据,而这种情况明显是要有业务数据才能做,我们倒是有心帮助大家把出口数据分离出来,虽然不涉及用户隐私,不过各位客户还是得先说服你们的 CEO 和法务部门吧。
综上所述,您可以可以明白了这个事情的根源和为什么让头疼的地方,所以一般来说,想要严格基于用户位置进行处理的业务,又没有其它数据辅助定位的,即使有但是比如你有大量 WEB 流量的,都会为这种流量头疼,比如广告类公司,比如支付类公司。
不是臣妾不努力,而是实在是这个事情是 BAT 规模下都会头疼的级别。
说到这里,无图无真相,这是我们很早截取的一张图,基于用户的 GPS 信息,可以看到部分用户在浙江、福建,还有一部分在陕西。而这个 IP ,我们可以 100% 确认的是,并不在这三个省之中,是在一个很偏门的地级市。
目前解决的办法,只有一个,基于你自己的业务数据,对流量情况进行分类,如果属于第三方出口类的流量,不要拿 IP 库做定位方案。但如果你规模很小,那就非常痛苦了。
当然,从根源上看,如果能从带宽采购本身上解决,我相信大家都不会头疼了,但是在我们目前能看到的时间内,没有希望。虽然政府在鼓励民营宽带公司,但是这个根源问题不解决,这个事情始终会受制于一级运营商的。但又有很多问题牵涉在内,我就不多说了。中国特色。
说到这里,我们来具体说一下网络位置和用户位置分离的问题,如果排除特殊情况,那么大部分情况下,网络位置基本上等同于用户位置,如果网络在北京,那么用户也应该会在北京。但是比如手机基站,用途和组网方式相对特殊,所以通过 IP 想做更精细的定位是很难的。再比如卫星上网,我们从网络位置上,最多只能跟踪到卫星上行站的地理位置,那么上到卫星,但凡这个卫星能覆盖到的任意位置,都可能是有用户在使用的,我们又如何标注,这应该是送分题。再比如有些大公司为了方便管理做了跨国 VPN,比如微软中国的办公室据说走的就是 VPN 到日本,所以他们去国外很快,访问国内的网站就慢,我们把他们定位到日本,我相信他们会很理解。
所以在我们的角度上,首先要给 IP 的使用和组网情况进行分类,再根据不同的情况,实行不同的标注策略。
我们到这个月中左右,IP 库就做整四年了,我们也依然在学习中。不过既然我们和客户都是算是做技术的,有问题不懂或者觉得数据不对劲,可以多交流,但是态度上要是把自己当上帝就不太好了。
而且恐怕即使你认为我们不准,你们也找不到比我们更好的供应商了,你只是看不出来而已。我说的可是全球范围内,尤其是在中国部分的数据上。我们的数据,也帮助某大型运营商做反向校对过,我们错的比他们错的还少。
在这里说句题外话,从 8 月中旬到 9 月底这段时间,我给阿里巴巴、微博、今日头条、美图、滴滴出行、小米、360、网易做了有关 IP 画像的内部分享,都是在业务上相对跟 IP 打交道比较多的部门,基础设施、大数据、广告、业务安全等部门居多。如果您公司有需求,相对也有一定规模,也可以与我联系,我愿意在有时间的前提下,继续做内部分享的事情,我们愿意把我们在研究的过程中总结的经验和踩的坑分享给各位,也希望多交流,能够共同成长。这次大部分是北京公司,十月底我会出差,如果您公司是在上海广州深圳杭州厦门的话,欢迎留言。:)
10/02/2017